package com.sdemo.modules.sys.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.sdemo.modules.sys.model.Menu;
import com.sdemo.modules.sys.model.Role;
import com.sdemo.modules.sys.model.User;
import com.sdemo.utils.MyMapper;
/**
 * @version V1.0
 * @date 2018年7月11日
 */
//@Mapper
public interface RoleMapper extends MyMapper<User> {
 
    /**
     * 分页查询,根据用户名查询用户
     * @param username
     * @return user
     */  
    List<Role> queryPageRole(Map<String,Object> parms);
    /**
     * 
     * 分页查询:信息总条数(total)
     * @param parms
     * @return
     */
    int queryCount(Map<String,Object> parms);
    
    /**
     * 根据RoleId查询Role
     * @param roleid
     * @return
     */
    Role queryRoleById(Long roleid);
    
    /**
     * 
     * 删除Role
     * @param roleid
     * @return
     */
    int deleteRole(Long roleid);
    
    /**
     * 
     * 新增Role
     * @param role
     * @return
     */
    int insertRole(Role role);
    
    /**
     * 
     * 根据用户id 查询 角色name
     * @param userid
     * @return
     */
    List<Role> queryRoleByUserId(@Param(value="userid") Long userid);
    
    List<Role> queryAllRole();
    
    List<Role> queryRoleAll(@Param(value="userId")Long userId,@Param(value="roleId")Long roleId);
    
    /**
     * 批量插入role_menu
     * @param list
     * @return
     */
    int insertRoleMenuBatch(List<Menu> list);
    
    int deleteRoleMenuByRoleId(Long roleid);
    
    List<Menu> queryAuthByRoleid(Long userId);
    
    
}
